Providing rewards and metrics for completion of microtasks

ABSTRACT

Edits on a content item, such as a document, are divided into microtasks. The microtasks associated with a document can be automatically identified based on a workflow or can be identified by a user associated with the content item or an administrator. At a later time, the user can complete the microtasks for a content item using an application associated with their smart phone or tablet. The application may present the microtasks in a game-like environment where the user can compete with other users based on metrics such as number of microtasks completed in a day or fastest completion time. In addition, the user can earn rewards such as badges, coupons, or credits by completing microtasks. In this way, users can use time that would have been wasted playing games to complete their content items, while still experiencing some of the fun and competition associated with the games.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/197,397, titled PROVIDING REWARDS AND METRICS FOR COMPLETION OFMICROTASKS, filed Jun. 29, 2016, which is a continuation-in-part of U.S.application Ser. No. 14/880,305, titled “ASSIGNING AND IDENTIFYINGMICROTASKS”, and filed on Oct. 12, 2015, the disclosures of which arehereby incorporated in their entirety.

BACKGROUND

Complex tasks, such as writing an article or organizing a photo library,can be thought of as a set of multiple microtasks. A microtask is a taskthat can be easily completed in a short time frame with minimalbackground information or instruction. For example, a task such aswriting a blog post may be thought of as a series of microtasksassociated with creating each sentence or paragraph based on one or moretopics or ideas, and additional microtasks associated with editingand/or proofing each created sentence or paragraph. The task oforganizing the photo library may be similarly thought of as microtasksconsisting of assigning tags to each photo of the photo library.

Rather than attempt to a complete an entire task at once, a user mayattempt to complete the task by completing the microtasks associatedwith the task over some period of time. However, there is currently noway to easily determine the microtasks that make up a task for a user,to determine when the user is available to complete the microtasks, andto incentivize the user to complete the microtasks.

SUMMARY

Edits on a content item, such as a document, are divided intomicrotasks. The microtasks associated with a document can beautomatically identified based on a workflow or can be identified by auser associated with the content item or an administrator. At a latertime, the user can complete the microtasks for a content item using anapplication associated with their smart phone or tablet. The applicationmay present the microtasks in a game-like environment where the user cancompete with other users based on metrics such as number of microtaskscompleted in a day or fastest completion time. In addition, the user canearn rewards such as badges, coupons, or credits by completingmicrotasks. In this way, users can use time that would have been wastedplaying games to complete their content items, while still experiencingsome of the fun and competition associated with games.

In an implementation, a method for automatically completing identifiedmicrotasks using a prediction model and for updating the predictionmodel based on feedback is provided. The method includes receiving adocument comprising a plurality of text portions by a computing device,identifying a workflow for the document by the computing device,identifying at least one microtask for at least one text portion of theplurality of text portions corresponding to the identified workflow bythe computing device, completing the at least one microtask using aprediction model by the computing device, presenting a graphicalindicator of the completed at least one microtask by the computingdevice, receiving an indication of acceptance or an indication ofrejection of the completed at least one microtask by the computingdevice, and updating the prediction model based on the receivedindication of acceptance or indication of rejection by the computingdevice.

In an implementation, a method for incentivizing the completion ofmicrotasks by providing one or more rewards is provided. The methodincludes presenting graphical indicators of one or more microtasks by acomputing device, receiving a selection of one of the graphicalindicators by the computing device, in response to the selection,providing the microtask corresponding to the selected graphicalindicator for completion by the computing device, receiving resultsassociated with the completion of the selected microtask and a metricfor the selected microtask by the computing device, determining that thereceived results or the metric qualifies for at least one reward by thecomputing device, and providing a graphical indicator of the at leastone reward by the computing device.

In an implementation, a system for presenting and completing microtasksis provided. The system includes at least one computing device and amicrotask engine. The microtask engine is adapted to receive identifiersof a plurality of microtasks for a content item, present graphicalindicators of one or more of the identified plurality of microtasks,receive a selection of one of the graphical indicators, in response tothe selection, provide the microtask corresponding to the selectedgraphical indicator for completion, receive results associated with thecompletion of the selected microtask and a metric for the selectedmicrotask, and provide the results and the metric for the providedmicrotask.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing summary, as well as the following detailed description ofillustrative embodiments, is better understood when read in conjunctionwith the appended drawings. For the purpose of illustrating theembodiments, there is shown in the drawings example constructions of theembodiments; however, the embodiments are not limited to the specificmethods and instrumentalities disclosed. In the drawings:

FIG. 1 is an illustration of an exemplary environment for identifyingand completing microtasks, and for providing one or more rewards basedon microtasks;

FIG. 2 is an illustration of an implementation of an exemplary microtaskengine;

FIG. 3 is an illustration of an example user interface for identifyingand/or creating microtasks;

FIG. 4 is an illustration of an example user interface for selectingmicrotasks;

FIG. 5 is an illustration of another example user interface forselecting microtasks;

FIG. 6 is an illustration of another example user interface forcompleting microtasks;

FIG. 7 is an illustration of another example user interface showing amicrotask that has been completed;

FIG. 8 is an illustration of another example user interface foraccepting or rejecting a microtask that has automatically beencompleted;

FIG. 9 is an illustration of another example user interface forselecting microtasks;

FIG. 10 is an illustration of another example user interface forcompleting microtasks;

FIG. 11 is an illustration of an example user interface showing one ormore completed microtasks to a user;

FIG. 12 is an operational flow of an implementation of a method forselecting a microtask, receiving results of the selected microtask, andfor providing at least one reward;

FIG. 13 is an operational flow of an implementation of a method foridentifying at least one microtask in a document and for updating aprediction model; and

FIG. 14 shows an exemplary computing environment in which exampleembodiments and aspects may be implemented.

DETAILED DESCRIPTION

FIG. 1 is an illustration of an exemplary environment 100 foridentifying and completing microtasks, and for providing one or morerewards based on microtasks. The environment 100 may include a microtaskengine 160 and a client device 110 in communication through a network122. The network 122 may be a variety of network types including thepublic switched telephone network (PSTN), a cellular telephone network,and a packet switched network (e.g., the Internet). Although only oneclient device 110 and one microtask engine 160 are shown in FIG. 1,there is no limit to the number of client devices 110 and microtaskengines 160 that may be supported.

The client device 110 and the microtask engine 160 may be implementedusing a variety of a variety of computing devices such as smart phones,desktop computers, laptop computers, tablets, and video game consoles.Other types of computing devices may be supported. A suitable computingdevice is illustrated in FIG. 14 as the computing device 1400.

An entity associated with the client device 110 may use the clientdevice 110 to create, view, or edit one or more content items 115. Thecontent items 115 may include files, documents, images, videos, music,applications or any other type of content that may be created, viewed,or edited using a computing device. Entities may include individuals(i.e., users), teams, collaborative groups, organizations, corporations,etc.

Users may create, view, and edit content items 115 using one or moreapplications 117. Examples of applications 117 may include wordprocessing applications, web browsers, email applications, image andvideo editing applications, database applications, etc. Any type ofapplication 117 that may create, view, and edit a content item 115 maybe supported.

The client device 110 may further include a microtask client 120. Themicrotask client 120 may allow the user to identify and create one ormore microtasks 130 from or based on tasks associated with content items115. A microtask 130 as used herein is a task (e.g., a short task) thatis involved in the creating, completion, or editing of a content item115. A microtask 130 may not be atomic and may be further broken downinto smaller microtasks 130.

Typically, a microtask 130 can be completed by a user in a time that isless than one to five minutes, although more or less time may bespecified. In addition, a typical microtask 130 may be completed by auser without excessive context or other knowledge about the content item115 associated with a microtask 130.

Depending on the implementation, a user may use the microtask client 120to create one or more microtasks 130 for, or from, a task associatedwith a content item 115. In some implementations, potential microtasks130 may be identified in the content item 115 automatically by themicrotask client 120. For example, with respect to a task such asediting a content item 115, the microtask client 120 may identify one ormore paragraphs of a document that include grammatical errors or thatare too long. The microtask client 120 may prompt the user and/orcreator associated with the document to create a microtask 130 directedto editing or shortening the identified paragraphs. The identifiedparagraphs may be displayed using a particular font, highlighting, orunderlining that indicates to the entity that a microtask 130 isavailable. Depending on the implementation, the identified microtasks130 may be presented to the user associated with the content item 115for approval, or the microtasks 130 may be identified and createdwithout user intervention.

In other implementations, the user may identify and/or select theparticular microtasks 130 for a content item 115. For example, a usermay highlight a sentence or paragraph in the content item 115. The usermay provide an indication to create a microtask 130 based on thehighlighted text.

Each microtask 130 may be associated with metadata. In someimplementations, the metadata may include a type, an identifier of thecontent item 115 associated with the microtask 130, and an identifier ofthe user that owns or created the microtask 130. The type of microtask130 may be a description of the work that is associated with themicrotask 130. For example, where the content item 115 is a document,the type may be one or more of edit content, shorten content, orgenerate content. Where the content item 115 is an image, the type maybe one or more of crop image, brighten image, filter image, or tagimage. Other types of microtasks 130 may be supported. The metadata mayfurther include data such as an estimated completion time for themicrotask 130, and any rewards 145 associated with the completion of themicrotask 130.

The metadata associated with a microtask 130 may further include oridentify what is referred to herein as a workflow. A workflow maydescribe the sequence of steps or processes that are used to completethe associated microtask 130. Depending on the implementation, theworkflows may be specified by the microtask client 120, for example.

As may be appreciated, by breaking up a task such as the creation orcompletion of a content item 115 into a plurality of microtasks 130, thespeed at which the content item 115 can be created and/or completed byuser may be increased. Another advantage of microtasks 130 is referredto herein as “selfsourcing.” Selfsourcing refers to the process ofassigning and/or presenting a microtask 130 to the user that created themicrotasks 130 for completing when it is determined by the microtaskclient 120 that the user is available to perform the microtask 130.

In some implementations, the microtask client 120 may present amicrotask 130 for completion to a user when the user logs into theirclient device 110, when the user switches tasks, when it is determinedthat the user is not being productive (e.g., browsing the Internet), orwhen it is determined that the user is waiting in line (e.g., usingaccelerometers, location sensors, or other sensors associated with theclient device 110), for example. As may be appreciated, selfsourcing mayallow a user to capture time that may have been otherwise been lost, andto use the captured time to work towards the completion of a contentitem 115.

In another implementation, the microtask client 120 may be integratedinto an application 117 such as a game to encourage the user to completemicrotasks 130. In one example, the game application 117 may maintainleaderboards where users can compete with other users through metrics143 such as the number of microtasks 130 that they have completed in aday, week, month, etc. Other metrics 143 such how long the user takes tocomplete a microtask 130 can be used. In addition, the game applicationcan provide rewards 145 for completing microtasks or reachingmicrotask-based milestone (e.g., complete one hundred microtasks 130).Example rewards 145 include badges, coupons, credits that can beredeemed for application 117 purchases, or “add-free” use of anapplication 117. Other types of rewards 145 may be used.

To help facilitate selfsourcing, the environment 100 may further includethe microtask engine 160. The microtask engine 160 may receive one ormore microtasks 130 in a content item 115 associated with a user, andmay present the microtasks 130 for completion by the user at some othertime. For example, the microtask engine 160 may present one or more ofthe microtasks 130 to the user in a game application 117 as describedabove.

After the user completes a microtask 130, the microtask engine 160 mayreceive results 140 from the user. The contents of the results 140 maydepend on the type of microtask 130. For example, where the microtask130 was editing a paragraph, the results 140 may include the editedparagraph by the user. The microtask engine 160 may provide thegenerated results 140 to the microtask client 120 associated with thecontent item 115 where the results 140 may be incorporated into thecontent item 115 and/or submitted to the user for further approval.

The microtask engine 160 may further calculate one or more metrics 143for the user based on microtask 130 completion, and may provide some orall of the calculated metrics 143 to the microtask client 120 where theymay be displayed to the user. The metrics 143 may be specific to theuser (i.e., number of microtasks 130 completed today, total number ofmicrotasks 130 completed, number of microtasks 130 remaining, andaverage (e.g., mean, median, mode, etc.) microtask 130 completion time),or may be based on multiple users (i.e., top performing user today, topperforming all time user, user with fastest microtask completion time,and a general ranking of the users). By viewing the metrics 143, theuser may be incentivized to complete more microtasks.

FIG. 2 is an illustration of an implementation of an exemplary microtaskengine 160. The microtask engine 160 may include one or more componentsincluding a microtask creation engine 210, a learning engine 215, apresentation engine 225, and a rewards engine 235. More or fewercomponents may be included in the microtask engine 160. Some or all ofthe components of the microtask engine 160 may be implemented by one ormore computing devices such as the computing device 1400 described withrespect to FIG. 14. In addition, some or all of the components of themicrotask engine 160 may be implemented as part of the microtask client120.

The microtask creation engine 210 may allow for the creation and/oridentification of microtasks 130 with respect to a content item 115. Insome implementations, the microtask creation engine 210 mayautomatically identify potential microtasks 130 with respect to acontent item 110 by identifying aspects or portions of the content item115 that are unfinished. The microtask creation engine 210 may identifymicrotasks 130 in the content item 115 by matching patterns associatedwith microtasks 130 against the text or contents of the content item115.

In some implementations, the microtask creation engine 210 may identifymicrotasks 130 using one or more workflows. The workflow may be selectedor identified by a user or an administrator based on the type of contentitem 115 that they are working on. For example, where a content item 115is a document, the user creating the document may select a workflowrelated to editing the document. The microtask creation engine 210 mayidentify microtasks 130 within the document that are associated with theworkflow of editing the document such as shortening paragraphs, editingparagraphs, correcting grammatical errors, etc. In another example,where the content item 115 is an image database, the user may select aworkflow related to tagging photos, a workflow related to enhancingphotos, or a workflow related to culling or deleting photos. Dependingon which workflow is selected, the microtask creation engine 210 mayidentity images that are not tagged or enhanced as possible microtasks130. In other implementations, the user associated with the content item115 may identify potential microtasks 130 in the content item 115.

The microtask creation engine 210 may display indicators to the userassociated with the identified one or more microtasks 130. Where thecontent item 115 is a document, the portions of the document that areidentified as possible microtasks 130 may be underlined or displayedusing a different color or font to indicate to the user that microtasks130 are available. Other types of indications may be used. Alternativelyor additionally, a window or other type of user interface element may bedisplayed that indicates to the user the microtasks 130 that have beenidentified in the content item 115.

The microtask creation engine 210 may receive a request to create amicrotask 130 from a user. The request may correspond to one of thepotential microtasks 130 automatically identified by the microtaskcreation engine 210 using the workflow. Alternatively, the request maycorrespond to a microtask 130 identified by the user.

The requested microtask 130 may include metadata that identifies variouscharacteristics of the requested microtask 130 such as the type ofmicrotask, the associated user, and the associated content item 115. Themetadata may further include information such as a desired completiondate, any rewards 145 associated with the microtask 130, and mayindicate an estimated completion time for the microtask 130. Theestimated completion time and/or rewards 145 may be used by themicrotask engine 160 when selecting a microtask 130 for a microtask 130focused game or application 117.

Depending on the implementation, the metadata associated with themicrotask 130 may also be defined by a workflow associated with themicrotask 130. As described above, some microtasks 130 may have anassociated workflow that includes the steps or processes that may beperformed to complete the microtask 130. Examples of metadata that maybe defined by the workflow may be the estimated completion time orreward 145 information. Other types of metadata may be defined by theworkflow associated with the microtask 130. Depending on theimplementation, the microtask creation engine 210 may receive theworkflow associated with the microtask 130 from the microtask client120, or may retrieve the stored workflow for the microtask 130 frommicrotask data 211.

The microtask creation engine 210 may store microtasks 130 that arecreated along with the associated metadata in the microtask data 211.Depending on the implementation, the stored microtasks 130 may includethe date that they were created and a date that they may be completedby. Other information may be included.

The learning engine 215 may automatically complete some or all of themicrotasks 130 for a user using a prediction model 217. Depending on theimplementation, the prediction model 217 may be created and/ormaintained by the learning engine 215 by observing the results 140generated by the user for a variety of microtasks 130. Any method ortechnique for generating a prediction model 217 based on user behaviormay be used.

The learning engine 215 may generate results 140 for a microtask 130using the prediction model 217. After generating the results 140, thelearning engine 215 may present the results 140 for approval by theuser. The microtask client 120 may present the generated results 140 tothe user in an application 117, and may ask the user if the user acceptsthe proposed results 140. For example, where the microtask 130 is toshorten a paragraph, the learning engine 215 may present the originalparagraph to the user along with the results 140 that include theshortened paragraph.

The user may provide feedback with respect to the proposed results 140.For example, the user may either accept or reject the proposed results140, or may alternatively provide new results 140 to replace the results140 proposed by the learning engine 215. The learning engine 215 mayupdate the prediction model 217 using the feedback. For example, if theuser accepts the results 140, the learning engine 215 may generate apositive or reinforcing signal to the prediction model 217 with respectto the generated results 140, and if the user rejects the results 140,the learning engine 215 may generate a negative signal to the predictionmodel 217 with respect to the generated results 140. Any method ortechnique for machine learning may be used.

Depending on the implementation, when automatically completingmicrotasks 130 and generating results 140, the learning engine 215 maygenerate multiple results 140 and may present the multiple results 140as options to the user associated with the microtask 130. For example,where the microtask 130 is to shorten a paragraph, the learning engine215 may generate four different possible shortened paragraphs and theuser may select the shortened paragraph that they prefer. The selectedparagraph (and the not selected paragraphs) may be used as feedback toimprove the prediction model 217.

The presentation engine 225 may determine when the user is available toreceive a microtask 130, and may select the microtask(s) 130 that arepresented to the user. In some implementations, the user may indicatecertain conditions as to when they would like to perform microtasks 130,and the presentation engine 225 may provide microtasks 130 when theconditions are met.

For example, the user may indicate that they would like to receivemicrotasks when they are waiting in line, after they have closed or arewaiting on a particular application 117, after they have logged in to aparticular client device 110, when they are commuting (e.g., on atrain), or when they are wasting time. In addition, the user may alsospecify conditions that are based the time of day or which client device110 they are using (e.g., “never receive microtasks 130 when using awork computer,” and “receive microtasks 130 when using a laptop on theweekend”).

In some implementations, the presentation engine 225 may presentmicrotasks to the user when the user has begun to use an application 117associated with completing microtasks 130. As described previously, auser may use a game or other application 117 that tracks how manymicrotasks 130 the user has completed, and compares the performance ofthe user to other users using one or more metrics 143. The users may becompared based on information such as total microtasks 130 completed,remaining microtasks 130 to complete, average microtask 130 completiontime, etc.

Depending on the implementation, when the user opens the application 117for completing microtasks 130, the presentation engine 225 may selectmicrotasks 130 for the user to complete from the microtask data 211. Theselected microtasks 130 may include microtasks 130 associated with aparticular content item 115, or may include some or all of themicrotasks 130 associated with the user. The particular content item 115may be specified or selected by the user using the application 117.

The microtasks 130 may be presented to the user by the presentationengine 225 in a way as to encourage the user to complete the microtasks130. For example, where there are few microtasks 130 remaining for acontent item 115, graphical indicators of the remaining microtasks 130for the content item 115 may be displayed in a prominent position on theapplication 117 along with an indication of the number of microtask 130that remain to be completed. In another example, the graphicalindicators of the microtasks 130 may be displayed along with estimationsof how long the corresponding microtasks 130 may take to complete,allowing the user to select a microtask 130 that can be completed inwhatever time the user had allotted to performing microtasks 130 today.

The presentation engine 225 may, for each microtask 130 completed by theuser, receive results 140 and a metric 143. The results 140 and themetric 143 may be stored by the presentation engine 225 in the resultsstorage 219. In an implementation, the metric 143 for a microtask 130may be a completion time for the microtask 130. Depending on theimplementation, the results 140 in the results storage 219 may beautomatically incorporated into the associated content item 115, or maybe sent to the user for approval before being incorporated. Where theresults 140 are approved, the act of approving or accepting a particularresult 140 may be considered a microtask 130 for the user, and may beselected and presented by the presentation engine 225 as describedabove.

In some implementations, each microtask 130 may be completed by the useronce. In other implementations, some microtasks 130 may be completed bythe user multiple times. Depending on the implementation, where the usercompletes a microtask 130 multiple times, the results 140 and/or metric143 from each completion may be presented to the user, and the user maybe asked to select the best results 140. Alternatively or additionally,the microtask engine 160 may automatically select the best results 140based on criteria specified by the workflow associated with themicrotask 130 or using the prediction model 217, for example.

In some implementations, the presentation engine 225 may attempt tograde or measure the quality of the results 140 provided by the user fora microtask 130. The grade for the results 140 may be used by thepresentation engine 225 to select a best set of results 140 as describedabove, to determine if the results 140 may be discarded by thepresentation engine 225, and/or determine if the associated microtask130 may be re-presented for completion by the presentation engine 225.For example, if the results 140 have numerous typographical orgrammatical errors, the results 140 may receive a low grade and may bediscarded. Other information indicative of low or high quality results140 may be the amount of time that the user spent completing themicrotask 130, and various signals that may indicate that the user wasdistracted while completing the microtask 130. For example, when theuser completes the microtask 130 on a smart phone, there may be sensordata such as microphone data or camera data that indicates that the userwas talking to someone while completing the microtask 130, or wasperforming another activity while completing the microtask 130. Othersignals of distraction may be used.

The rewards engine 235 may calculate additional metrics 143 based onresults 140 and metrics 143 stored in the results storage 219. Themetrics 143 calculated for a user may include fastest completion time,average completion time, microtasks 130 completed today, this week, thismonth, etc., and microtasks 130 remaining for the user, for example. Anytype of metric 143 or statistic related to the completion of tasks maybe calculated. The metrics 143 related to completion types may becalculated across all microtasks 130 completed by the user, as well asfor specific types of microtasks 130 completed by the user (i.e.,“edit”, “spelling”, and “shorten”). The calculated metrics 143 mayinclude “average” metrics 143 such as average completion time, oraverage number of microtasks 130 completed. Any type of average may beused such as mean, median, mode, etc. Depending on the implementation,the calculated average may be weighted to favor more recent metrics 143.

The rewards engine 235 may further calculate “global” metrics 143 usingthe metrics 143 completed for each user. These metrics may include theuser who completed the most microtasks 130 today or all-time, the userhaving the fastest average completion time, and the user having theleast microtasks remaining to be completed. These global metrics 143 maybe provided by the rewards engine 235 to the microtask client 120 and/orapplication 117 and may be used to create a leaderboard where a user cancompare their performance with other users. Depending on theimplementation, when computing the global metrics 143 for a user, therewards engine 235 may consider metrics 143 for all users of theapplication 117, or only a subset of the users of the application 117.For example, the rewards engine 235 may only consider users who have asocial-networking relationship with the user when computing the globalmetrics 143.

The rewards engine 235 may determine if requirements for one or morerewards 145 have been met by a user. Each reward 145 may be associatedwith one or more requirements that control how the reward 145 may beearned by a user. Example requirements may be microtask 130 specifice.g., complete this microtask 130 and receive this reward 145), may becumulative (e.g., complete one hundred microtasks), or may be based oncertain metrics 143 (e.g., complete ten microtasks 130 in one day, orachieve a completion time in the top ten percent of all completiontimes). The requirements for a reward 145 may be set by a user or anadministrator, and may be stored in rewards data 237. Alternatively oradditionally, the requirements for a reward 145 may include in themetadata or workflow associated with a microtask 130.

The rewards engine 235 may provide any rewards 140 earned by a user tothe microtask client 120 and/or application 117 when the user may viewand/or redeem the rewards 140. In addition, any rewards 145 earned bythe user may be stored in the rewards data 237. Examples of rewards 145include graphical badges or achievements that may be displayed in a userprofile associated with a user, credits towards the purchase or downloador another application 117, ad-free usage of an application 117, or“time” credits towards the use of other applications 117. For example,if a user spends ten minutes performing microtasks 130, they may receivea reward 145 that provides them with twenty minutes to use a web browseror video game application 117. Other types of rewards 145 may be used.

FIG. 3 is an illustration of an example user interface 300 foridentifying and/or creating microtasks 130. The user interface 300 maybe generated and presented to a user at a client device 110 such as adesktop computer, a laptop computer, or any portable or handheldcomputing device. The user interface 300 includes an application menu310 and a content window 315. The application menu 310 and the contentwindow 315 may be part of a content item creation application 117. Inthe example shown, the application 117 may be a document editingapplication such as a word processing application. The user may enterand edit text for the content item 115 into the content window 315.

To incorporate microtasks 130 into the application 117, the userinterface 300 may include a microtask menu 320. The microtask menu 320may allow the user to select workflows, create microtasks 130, and setvarious options related to the microtasks 130, from within theapplication 117 as they create the content item 115. Depending on theimplementation, the microtask menu 320, and the functionality associatedwith the microtask menu 320, may be provided by the microtask client 120and/or the microtask engine 160.

As shown in a title window 305, the user has created and/or opened acontent item 115 titled “Draft Report.doc.” The user has created twoparagraphs of text for the content item 115 in the content window 315.After the user entered the paragraphs, the microtask creation engine 210identified three microtasks 130 in the content window 315. Themicrotasks 130 may have been identified automatically without useraction based on workflows associated with the microtasks 130, or mayhave been identified in response to the user selecting a button or otheruser interface element.

In the example shown, the identified microtasks 130 are displayed to theuser in the microtask menu 320. In particular, the microtask creationengine 210 identified a “Spelling” microtask 130 for the misspelled word“thosand” at 350 c, and identified two “Shorten Paragraph” microtasks130 at 350 a and 350 b respectively.

After viewing the identified microtasks 130 in the microtask menu 320,the user may choose to accept the identified microtasks 130 using apointer 345 to select a user interface element 335 labeled “AcceptMicrotasks”. Alternatively, the user may choose to add or removemicrotasks 130 from those microtasks 130 identified in the microtaskmenu 320 by using the pointer 345 to select a user interface element 337labeled “Add/Remove Microtasks”. After the user has accepted themicrotasks 130 in the microtask menu 320, the microtask creation engine210 may create the corresponding microtasks 130, and may associate themicrotasks 130 with the content item 115 “Draft Report.doc”.

FIG. 4 is an illustration of an example user interface 400 through whicha user may complete one or more microtasks 130. The user interface 400may be implemented by a smart phone 410 for example, although othertypes of client devices 110 may be used. The user interface 400 may bepart of an application 117 such as a game that encourages the user tocomplete microtasks 130.

Continuing the above example, the microtask client 120 may havedetermined that user is available to complete one or more microtasks130, and may have launched the application 117 on the client device 110associated with the user. For example, using a global positioning system(GPS) (or other sensor) associated with the smart phone 410, themicrotask client 120 may have determined that the user is waiting inline at a store and may have requested a microtask 130 to complete.Alternatively, the user may have selected an icon or other userinterface element on the smart phone 410 to launch the application 117.

As shown, the application 117 displays numerous user interface elementsin a window 425 to the user that allow the user to select microtasks 130to complete, allow the user to compare their performance against otherusers of the application 117 (i.e., metrics 143), and allow the userview any rewards 145 or other incentives that the user may have earnedby performing microtasks 130.

The window 425 includes a user interface element 440 through which theuser may select the particular content item 115 whose associatedmicrotasks 130 the user would like to complete. In the example shown,the user has chosen to complete microtasks 130 corresponding to thecontent item 115 “Draft Report.doc”.

The window 425 further includes user interface elements 432 and 433 thatcorrespond to particular types of microtasks 130 that are associatedwith the content item 115 identified in the user interface element 440.The user interface element 432 labeled “Shorten” allows the user toperform the “Shorten Paragraph” microtasks 130 identified for theparagraphs 350 a and 350 b at FIG. 3. Similarly, the user interfaceelement 433 labeled “Fix Spelling” allows the user to perform the“Spelling” microtask 130 identified for the word 350 c. The userinterface element 434 labeled “Random Surprise” allows the user toreceive and complete a microtask 130 that is randomly selected by theapplication 117.

The window 425 includes other user interface elements that maycorrespond to custom selections or series of microtasks 130. The userinterface element 430 labeled “Ten Microtask Game” allows the user toreceive and perform a sequence of ten microtasks 130. Similarly, theuser interface element 431 labeled “Five Microtask Game” allows the userto receive and perform a sequence of five microtasks 130. Depending onthe implementation, the microtasks 130 in each sequence may be randomlyselected, or may be selected such that there is a microtask 130corresponding to particular types of microtasks 130 in each sequence.For example, the presentation engine 225 may select the sequence ofmicrotasks 130 such that at least one microtask of the types “spelling”,“shorten”, “edit” and “review” are included. In another example, thepresentation engine 225 may select the sequence of microtasks 130 suchthat the cumulative expected time to complete the sequence of microtasks130 is within some range.

As described previously, one benefit of the microtask engine 160 isinspiring users to complete microtasks 130 by comparing their microtaskperformance with other users through metrics 143, and also providingvarious rewards 145 to the users to complete microtasks 130. In theexample shown, the user may compare their personal microtask performanceagainst other users by selecting the user interface element 436 labeled“View Leaderboard!”. Examples of metrics 143 that may be used to compareusers may include average microtask 130 completion time, microtask 130completion rate (i.e., number of microtasks completed per hour, per day,per week, etc.), and remaining number of microtasks 130 for each contentitem 115 associated with the user.

In the example shown, the user may view the various rewards 145 andother incentives that the user has accrued performing microtasks 130 beselecting the user interface element 435 labeled “View Achievements!.”Examples of rewards 145 that may be displayed include badges or othergraphics that indicate certain microtask 130 related milestones such as“completed ten microtasks”, “completed fifty microtasks”, etc. Otherrewards 145 such as coupons, gift certificates, free application 117downloads or credits, may also be redeemed or displayed.

Continuing to the user interface 500 of FIG. 5, the user has selectedthe user interface element 432 to perform a microtask 130 of the type“shorten”. Accordingly, the user interface 500 has been displayedcorresponding to the selected microtask 130. The content window 425 hasbeen revised to include the window 505 that tells the user the type ofmicrotask 130 they selected, and a window 510 that provides instructionsor other content that may be needed by the user to complete themicrotask 130. If the user is ready to perform the microtask 130, theymay select a user interface element 511 labeled “Let's go!”.Alternatively, if the user does not wish to perform the microtask 130,they can select the user interface element 512 labeled “No thanks!”.

In addition, other information is displayed to the user in the window425. In the example shown, personal microtask related metrics 143 aredisplayed to the user in a window 513 labeled “Your Stats.” Also shownin a window 514 labeled “Leaderboard” are various microtask relatedmetrics 143 for all of the users that use the application 117.Alternatively, the metrics 143 in the window 514 may be limited tofriends of the user, or users that are geographically close to the user,for example.

Continuing to the user interface 600 of FIG. 6, the user has selectedthe user interface element 511, and the content window 425 has beenupdated to include the microtask 130. As shown, instructions to completethe microtask 130 are displayed to the user in a window 605, and theparagraph 350 a corresponding to the selected microtask 130 is displayedto the user in the window 425. The user may begin to shorten theparagraph 350 a using whatever editing tools are provided by application117 and/or smart phone 410. For purposes of incentivizing the userthrough rewards 145 and/or metrics 143, the window 425 also includes arunning clock showing the amount of time that the user has spent workingon the microtask 130. This clock is shown in a window 645 labeled“Elapsed Time.” Other completion metrics may be displayed.

Continuing to the user interface 700 of FIG. 7, the user has completedthe microtask 130 and has shortened the paragraph 350 a in the contentwindow 425. After completing the microtask 130, the user may submit theshortened paragraph as the results 140 by selecting the user interfaceelement 635 labeled “I'm finished.” In response, the microtask client120 may provide the results 140 to the microtask engine 160, along withthe elapsed time from the window 645. Alternatively, or additionally,the microtask client 120 may incorporate the results 140 into thecontent item 115 associated with the microtask 130.

After completing the microtask 130, the user may return to the userinterface 300 of FIG. 3 to select another microtask 130, or may beautomatically presented with another microtask 130 by the application117. In the example shown in the user interface 800 of FIG. 8, the userhas been presented with a microtask 130 corresponding to the paragraph350 b. In contrast with the previous microtask 130, in this example, thelearning engine 215 has already completed the microtask 130, and isasking the user to approve of the generated results 140. Accordingly,the window 425 includes a window 805 with instructions for the user toapprove of the shortened paragraph.

In a window 811, the original paragraph 350 b is displayed to the user,and in a window 812, the proposed shorted paragraph is displayed to theuser. The user may either accept or reject the shorted paragraph of thewindow 812 by selecting either the user interface element 835 or theuser interface element 837, respectively. Similar to the previousmicrotask 130, the time that the user takes to make the selection istracked in a window 845. If the user accepts the shorted paragraph, themicrotask client 120 may provide the results 140 to the microtask engine160, along with the elapsed time in the window 845.

After completing the microtask 130, the user may return to the userinterface 300 of FIG. 3 to select another microtask 130. Continuing theprevious example, the user has selected the user interface element 433labeled “Fix Spelling.” Accordingly, FIG. 9 displays an illustration ofan example user interface 900 for the microtask 130 corresponding to themisspelled word 350 c. The content window 425 has been revised toinclude a window 905 that tells the user the type of microtask 130 theyselected, and a window 910 that provides instructions or other contentthat may be needed by the user to complete the microtask 130. If theuser is ready to perform the microtask 130, they may select a userinterface element 911 labeled “Let's go!”. Alternatively, if the userdoes not wish to perform the microtask 130, they can select the userinterface element 912 labeled “No Thanks!”. Similar to the userinterface 500, the user interface 900 also includes various statisticsand leaderboard information in windows 913 and 914 respectively.

Continuing to FIG. 10, the user has selected the user interface element911, and the content window 425 has been updated to include themicrotask 130. As shown, instructions to complete the microtask 130 aredisplayed to the user in a window 1005, and a sentence from the contentitem 115 that includes the misspelled word 350 c is displayed to theuser in a window 1007 for context. Also displayed in user interfaceelements 1012, 1013, 1014, 1015, and 1016 are suggestions of what themicrotask engine 160 determined may be the correctly spelled version ofthe word 350 c. In addition, a user interface element 1017 labeled“Other” is displayed to allow the user to enter a word other than thoserepresented by the user interface elements 1012-1016. To complete themicrotask 130, the user may select one of the user interface elements1012-1017.

FIG. 11 is an illustration of a user interface 1100 after the microtaskscorresponding to the paragraphs 350 a and 350 b have been completed. Inthe example shown, the paragraphs 350 a and 350 b are displayed in thecontent window 315 to show the changes that were made to each of theparagraphs due to the “shorten” microtasks 130 shown in FIGS. 6-8. Theuser interface 1100 includes a button 1135 labeled “Accept Changes” anda button 1137 labeled “Reject Changes” that the user may use to eitheraccept or reject the edits proposed by the completed microtasks 130. Insome implementations, users may be provided with the option to accept orreject specific portions of the completed microtasks 130. Because themisspelled word 350 c was deleted by the edits made to paragraph 350 a,there is no change made to the corresponding text.

FIG. 12 is an operational flow of an implementation of a method 1200 forselecting a microtask 130, receiving results 140 of the selectedmicrotask 130, and for providing at least one reward 145. The method1200 may be implemented by the microtask engine 160 and/or the microtaskclient 120.

At 1201, it is determined that a user is available. That the user isavailable to perform a microtask 130 may be determined by the microtaskengine 160 and/or the microtask client 120. In some implementations,that the user is available may be determined based on sensors associatedwith the client device 110. For example, a GPS sensor may indicate thata user is in a store, and an accelerometer may indicate that the user iswaiting in line and therefore may be available. In anotherimplementation, that the user is available may be determined when theuser activates an application 117 focused on performing microtasks 130.

At 1203, identifiers of a plurality of microtasks are received. Theidentifiers of the plurality of microtasks may be received by themicrotask client 120 from the presentation engine 225 of the microtaskengine 160. Depending on the implementation, the microtasks 130 maycorrespond to a content item 115 (e.g., document) associated with theuser. Each microtask 130 may be associated with metadata that includes atype. The type may identify the task that is associated with theselected microtask 130 such as editing, re-writing, shortening thecontent, summarizing, reviewing, proofreading, etc. Other types ofmicrotasks 130 may be identified. In addition, the type may beassociated with a workflow. The workflow may include the steps that maybe completed as part of the selected microtask 130, or how many timesthat the particular microtask 130 may be completed by the user.

At 1205, graphical indicators of one or more of the identified pluralityof microtasks are presented. The graphical indicators may be presentedto the user by the microtask client 120 on a display associated with theclient device 110. The graphical indicators may be presented based onthe metadata associated with the corresponding microtasks 130, such thetype of the microtask 130. Depending on the implementation, thegraphical indicators may be presented through an application 117 such asa game where the user performs one or more microtasks 130. For example,the microtasks 130 may be presented to the user in a game application117 in an order that is based on the type of each microtask 130 (i.e.,edit, shorten, correct spelling, review comment, etc.). The user maythen focus on the types of microtasks 130 that they enjoy performing.

At 1207, a selection of one of the graphical indicators is received. Theselection may be received by the microtask engine 160 from the microtaskclient 120 and/or application 117. The selection may be of one of thegraphical indicators presented, and may indicate that the user wouldlike to perform the microtask 130 corresponding to the selectedgraphical indicator.

At 1209, a microtask corresponding to the selected graphical indicatoris provided. The microtask 130 may be provided by the microtask engine160 to the microtask client 120 and/or the application 117.

At 1211, results associated with the completion of the providedmicrotask and a metric are received. The results 140 and a metric 143may be received by the presentation engine 225 of the microtask engine160. The results 140 may be results generated by the user whencompleting the selected microtask 130. The metric 143 may be the time ittook for the user to complete the selected microtask 130. Other metrics143 may be used.

At 1213, that the received results or the metric qualifies for at leastone reward 145 is determined. The determination may be made by therewards engine 225 of the microtask engine 160 using the rewards data237.

At 1215, the at least one reward is presented (e.g., using a graphicalindicator). The reward 145 may be presented by the rewards engine 225 ofthe microtask engine 160. In some implementations, the reward 145 may bepresented by displaying the reward 145 to the user in the application117.

FIG. 13 is an operational flow of an implementation of a method 1300 foridentifying at least one microtask 130 in a document and for updating aprediction model. The method 1300 may be implemented by the microtaskengine 160 and/or the microtask client 120.

At 1301, a document is received. The document may be received by one ormore of a microtask client 120 or a microtask engine 160. The documentmay be a text document and may include a plurality of text portions. Forexample, the document may be a webpage or a word processing document.

At 1303, a workflow is identified. The workflow may be identified by themicrotask creation engine 210 of the microtask engine 160.

At 1305, at least one microtask corresponding to the identified workflowfor at least one portion of the document is identified. The microtask130 may be identified by the microtask client 120 or the microtaskcreation engine 210 of the microtask engine 160. In someimplementations, the microtasks 130 may be automatically identified inthe document by text matching patterns against patterns associated withknown microtasks 130 corresponding to the identified workflow. Forexample, the microtask creation engine 210 or the microtask client 120may identify paragraphs with spelling or grammatical errors asmicrotasks 130 of the type “edit” or “rewrite.”

At 1307, the at least one microtask is completed using a predictionmodel. The at least one microtask 130 may be completed by the learningengine 215 using the prediction model 217. The prediction model 217 mayhave been generated by the learning engine 215 by observing the results140 generated by the user over time for microtasks 130 of various types,and/or by observing the content of various content items 115 such asdocuments generated by the user.

At 1309, a graphical indicator of the completed at least one microtaskis provided. The graphical indicator may be provided by the presentationengine 225 of the microtask engine 160. In some implementations, thegraphical indicator of the completed at least one microtask 130 may bepresented as part of a different microtask 130 asking the user toapprove or reject the results 140 associated with the completed at leastone microtask 130. For example, where the microtask 130 completed by thelearning engine 215 is a tagged photograph, the user may be presentedwith a microtask 130 asking if they approve or reject the way that thelearning engine 215 tagged the photograph (i.e., the results 140).

At 1311, an indication of acceptance or rejection of the completed atleast one microtask is received. The indication of acceptance orrejection may be received by the learning engine 215 of the microtaskengine 160.

At 1313, the prediction model is updated based on the indication oracceptance or rejection. The prediction model 217 may be updated by thelearning engine 215 of the microtask engine 160. Any method for updatinga prediction model 217 based on positive feedback (i.e., an indicationof acceptance) or negative feedback (i.e., an indication of rejection)may be used.

FIG. 14 shows an exemplary computing environment in which exampleembodiments and aspects may be implemented. The computing deviceenvironment is only one example of a suitable computing environment andis not intended to suggest any limitation as to the scope of use orfunctionality.

Numerous other general purpose or special purpose computing devicesenvironments or configurations may be used. Examples of well-knowncomputing devices, environments, and/or configurations that may besuitable for use include, but are not limited to, personal computers,server computers, handheld or laptop devices, multiprocessor systems,microprocessor-based systems, network personal computers (PCs),minicomputers, mainframe computers, embedded systems, distributedcomputing environments that include any of the above systems or devices,and the like.

Computer-executable instructions, such as program modules, beingexecuted by a computer may be used. Generally, program modules includeroutines, programs, objects, components, data structures, etc. thatperform particular tasks or implement particular abstract data types.Distributed computing environments may be used where tasks are performedby remote processing devices that are linked through a communicationsnetwork or other data transmission medium. In a distributed computingenvironment, program modules and other data may be located in both localand remote computer storage media including memory storage devices.

With reference to FIG. 14, an exemplary system for implementing aspectsdescribed herein includes a computing device, such as computing device1400. In its most basic configuration, computing device 1400 typicallyincludes at least one processing unit 1402 and memory 1404. Depending onthe exact configuration and type of computing device, memory 1404 may bevolatile (such as random access memory (RAM)), non-volatile (such asread-only memory (ROM), flash memory, etc.), or some combination of thetwo. This most basic configuration is illustrated in FIG. 14 by dashedline 1406.

Computing device 1400 may have additional features/functionality. Forexample, computing device 1400 may include additional storage (removableand/or non-removable) including, but not limited to, magnetic or opticaldisks or tape. Such additional storage is illustrated in FIG. 14 byremovable storage 1408 and non-removable storage 1410.

Computing device 1400 typically includes a variety of computer readablemedia. Computer readable media can be any available media that can beaccessed by the device 1400 and includes both volatile and non-volatilemedia, removable and non-removable media.

Computer storage media include volatile and non-volatile, and removableand non-removable media implemented in any method or technology forstorage of information such as computer readable instructions, datastructures, program modules or other data. Memory 1404, removablestorage 1408, and non-removable storage 1410 are all examples ofcomputer storage media. Computer storage media include, but are notlimited to, RAM, ROM, electrically erasable program read-only memory(EEPROM), flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by computing device 500. Any such computerstorage media may be part of computing device 1400.

Computing device 1400 may contain communication connection(s) 1412 thatallow the device to communicate with other devices. Computing device1400 may also have input device(s) 1414 such as a keyboard, mouse, pen,voice input device, touch input device, etc. Output device(s) 1416 suchas a display, speakers, printer, etc. may also be included. All thesedevices are well known in the art and need not be discussed at lengthhere.

It should be understood that the various techniques described herein maybe implemented in connection with hardware components or softwarecomponents or, where appropriate, with a combination of both.Illustrative types of hardware components that can be used includeField-programmable Gate Arrays (FPGAs), Application-specific IntegratedCircuits (ASICs), Application-specific Standard Products (ASSPs),System-on-a-chip systems (SOCs), Complex Programmable Logic Devices(CPLDs), etc. The methods and apparatus of the presently disclosedsubject matter, or certain aspects or portions thereof, may take theform of program code (i.e., instructions) embodied in tangible media,such as floppy diskettes, CD-ROMs, hard drives, or any othermachine-readable storage medium where, when the program code is loadedinto and executed by a machine, such as a computer, the machine becomesan apparatus for practicing the presently disclosed subject matter.

In an implementation, a method for automatically completing identifiedmicrotasks using a prediction model and for updating the predictionmodel based on feedback is provided. The method includes receiving adocument comprising a plurality of text portions by a computing device,identifying a workflow for the document by the computing device,identifying at least one microtask for at least one text portion of theplurality of text portions corresponding to the identified workflow bythe computing device, completing the at least one microtask using aprediction model by the computing device, presenting a graphicalindicator of the completed at least one microtask by the computingdevice, receiving an indication of acceptance or an indication ofrejection of the completed at least one microtask by the computingdevice, and updating the prediction model based on the receivedindication of acceptance or indication of rejection by the computingdevice.

Implementations may include some or all of the following features.Identifying the at least one microtask may include matching a patternassociated with the at least one microtask and the workflow with the atleast one text portion. The at least one microtask includes one or moreof editing the document, re-writing the document, shortening thedocument, summarizing the document, reviewing the document, and/orproofreading the document.

In an implementation, a method for incentivizing the completion ofmicrotasks by providing one or more rewards is provided. The methodincludes presenting graphical indicators of one or more microtasks by acomputing device, receiving a selection of one of the graphicalindicators by the computing device, in response to the selection,providing the microtask corresponding to the selected graphicalindicator for completion by the computing device, receiving resultsassociated with the completion of the selected microtask and a metricfor the selected microtask by the computing device, determining that thereceived results or the metric qualifies for at least one reward by thecomputing device, and providing a graphical indicator of the at leastone reward by the computing device.

Implementations may include some or all of the following features. Theat least one reward may include one or more of a graphical badge, acoupon, an achievement, a credit for the purchase of an application,and/or a credit for an in-application purchase. The selected microtaskmay include one or more of editing a document, re-writing the document,shortening the document, summarizing the document, reviewing thedocument, and/or proofreading the document. The method may furtherinclude presenting a graphical indicator of the metric for the selectedmicrotask, and a graphical indicator of a metric associated with atleast one microtask that is different than the selected microtask. Themethod may further include calculating an average metric for a pluralityof microtasks that include the selected microtask and presenting agraphical indicator of the calculated average metric.

In an implementation, a system for presenting and completing microtasksis provided. The system includes at least one computing device and amicrotask engine. The microtask engine is adapted to receive identifiersof a plurality of microtasks for a content item, present graphicalindicators of one or more of the identified plurality of microtasks,receive a selection of one of the graphical indicators, in response tothe selection, provide the microtask corresponding to the selectedgraphical indicator for completion, receive results associated with thecompletion of the selected microtask and a metric for the selectedmicrotask, and provide the results and the metric for the providedmicrotask.

Implementations may include some or all of the following features. Thecontent item may include a document and the provided microtask mayinclude one or more of editing the document re-writing the document,shortening the document, summarizing the document, reviewing thedocument, and/or proofreading the document. The microtask engine may befurther adapted to present a graphical indicator of the metric for theprovided microtask, and present a graphical indicator of a metricassociated with at least one microtask that is different than theprovided microtask. The microtask engine may be further adapted tocalculate an average metric for a plurality of microtasks that includethe provided microtask, and present a graphical indicator of thecalculated average metric. The microtask engine may be further adaptedto complete the provided microtask using a prediction model and presenta graphical indicator of the completed microtask. The received resultsmay include an indication of acceptance or an indication of rejection ofthe completed microtask. The microtask engine may be further adapted toupdate the prediction model based on the indication of acceptance or theindication of rejection. The content item may include an image database,and the provided microtask may include one or more of editing an imageof the image database, tagging one or more faces in an image of theimage database, or culling one or more images from the images of theimage database. The microtask engine may be further adapted to determinethat a user associated with the content item is available, and presentthe graphical indicators of the one or more of the identified pluralityof microtasks at a computing device associated with the user. Thecomputing device associated with the user may include one or more of asmart phone or a tablet computer. Each microtask may be associated withmetadata, and the microtask engine adapted to present graphicalindicators of one or more of the identified microtasks may include themicrotask engine adapted to present graphical indicators of one or moreof the identified microtasks based on the metadata. The microtask enginemay be further adapted to provide at least one reward based on thereceived results associated with the completion of the selectedmicrotask and the completion time. The at least one reward may includeone or more of a graphical badge, a coupon, an achievement, a credit forthe purchase of an application, and/or a credit for an in-applicationpurchase.

Although exemplary implementations may refer to utilizing aspects of thepresently disclosed subject matter in the context of one or morestand-alone computer systems, the subject matter is not so limited, butrather may be implemented in connection with any computing environment,such as a network or distributed computing environment. Still further,aspects of the presently disclosed subject matter may be implemented inor across a plurality of processing chips or devices, and storage maysimilarly be effected across a plurality of devices. Such devices mightinclude personal computers, network servers, and handheld devices, forexample.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed:
 1. A computer-implemented method comprising: receivingcomputer-implemented identifiers of a plurality of computer-implementedmicrotasks for a computer-implemented content item; receiving acomputer-implemented selection of a selected microtask of themicrotasks; in response to the selection, providing the selectedmicrotask for completion; receiving a computer-implemented predictionmodel that has been generated or updated by one or more computercomponents based on prior results for use in task completion; completingthe selected microtask using the prediction model, wherein thecompleting of the selected microtask comprises performing one or moreoperations on the content item in a computer system using the predictionmodel, and wherein the completing of the selected microtask comprisesgenerating computer-implemented results of the completing of theselected microtask; and providing the results of the completing of theselected microtask.
 2. The computer-implemented method of claim 1,wherein the content item comprises a document, and the selectedmicrotask comprises one or more of editing the document, re-writing thedocument, shortening the document, summarizing the document, reviewingthe document, or proofreading the document.
 3. The computer-implementedmethod of claim 1, wherein the method further comprises presenting agraphical indicator of a metric for the selected microtask, and presenta graphical indicator of a metric associated with at least one microtaskthat is different than the selected microtask.
 4. Thecomputer-implemented method of claim 1, wherein the method furthercomprises: calculating an average metric for a plurality of microtasksthat include the selected microtask; and presenting a graphicalindicator of the calculated average metric.
 5. The computer-implementedmethod of claim 1, where the method further comprises: presenting acomputer-implemented graphical indicator of the completed microtask;receiving a computer-implemented indication of acceptance or acomputer-implemented indication of rejection of the completed microtask;and updating the prediction model based on the indication of acceptanceor the indication of rejection.
 6. The computer-implemented method ofclaim 1, wherein the content item comprises an image database, and theselected microtask comprises one or more of editing an image of theimage database, tagging one or more faces in an image of the imagedatabase, or culling one or more images from the images of the imagedatabase.
 7. The computer-implemented method of claim 1, furthercomprising determining that a user associated with the content item isavailable, and presenting graphical indicators of one or more of themicrotasks at a computing device associated with the user.
 8. Thecomputer-implemented method of claim 7, wherein the computing deviceassociated with the user comprises one or more of a smart phone or atablet computer.
 9. The computer-implemented method of claim 1, whereineach of the microtasks is associated with metadata, and the methodfurther comprises presenting graphical indicators of one or more of themicrotasks, the presenting of the graphical indicators comprisingpresenting graphical indicators of one or more of the microtasks basedon the metadata.
 10. The computer-implemented method of claim 1, furthercomprising providing at least one reward based on the results of thecompleting of the selected microtask and a completion time.
 11. Thecomputer-implemented method of claim 10, wherein the at least one rewardcomprises one or more of a graphical badge, a coupon, an achievement, acredit for the purchase of an application, and a credit for anin-application purchase.
 12. A computer system comprising: at least oneprocessing unit; at least one memory comprising instructions storedthereon that when executed by the at least one processing unit performacts comprising: receiving a computer-implemented content item;identifying a computer-implemented workflow for the content item by thecomputer system; identifying at least one computer-implemented microtaskfor at least a portion of the content item corresponding to theidentified workflow by the computer system; completing the at least onemicrotask using a computer-implemented prediction model by the computersystem, wherein the completing of the at least one microtask comprisesperforming one or more operations on the content item in the computersystem using the prediction model, and wherein the completing of the atleast one microtask comprises generating computer-implemented results ofthe completing of the at least one microtask; receiving acomputer-implemented indication of feedback regarding the completing ofthe at least one microtask by the computer system; and updating theprediction model based on the received indication of feedback by thecomputer system.
 13. The computer system of claim 12, whereinidentifying the at least one microtask comprises matching a patternassociated with the at least one microtask and the workflow with the atleast a portion of the content item.
 14. The computer system of claim12, wherein the at least one microtask comprises one or more of editinga document, re-writing the document, shortening the document,summarizing the document, reviewing the document, or proofreading thedocument.
 15. A computer system comprising: at least one processingunit; at least one memory comprising instructions stored thereon thatwhen executed by the at least one processing unit perform actscomprising: receiving a computer-implemented selection of a selectedmicrotask of a plurality of available microtasks by the computer system;in response to the selection, providing the selected microtask forcompletion by the computer system; receiving a computer-implementedprediction model that has been generated or updated by one or morecomputer components based on prior results for use in task completion;and completing the selected microtask using the prediction model by thecomputer system, wherein the completing of the selected microtaskcomprises performing one or more operations on a computer-implementedcontent item in the computer system using the prediction model, andwherein the completing of the selected microtask comprises generatingcomputer-implemented results of the completing of the selectedmicrotask; and receiving computer-implemented results associated withthe completion of the selected microtask by the computer system.
 16. Thecomputer system of claim 15, wherein the acts further comprise:determining that the received results or a metric for the selectedmicrotask qualifies for at least one reward by the computer system; andproviding a graphical indicator of the at least one reward by thecomputer system; wherein the at least one reward comprises one or moreof a graphical badge, a coupon, an achievement, a credit for thepurchase of an application, and a credit for an in-application purchase.17. The computer system of claim 15, wherein the selected microtaskcomprises one or more of editing a document, re-writing the document,shortening the document, summarizing the document, reviewing thedocument, or proofreading the document.
 18. The computer system of claim15, wherein the acts further comprise presenting a graphical indicatorof a metric for the selected microtask, and a graphical indicator of ametric associated with at least one microtask that is different than theselected microtask.
 19. The computer system of claim 15, wherein theacts further comprise: calculating an average metric for a plurality ofmicrotasks that include the selected microtask; and presenting agraphical indicator of the calculated average metric.
 20. The computersystem of claim 15, wherein the received results comprise an indicationof acceptance or an indication of rejection of the completed microtask,and wherein the acts further comprise updating the prediction modelbased on the indication of acceptance or the indication of rejection.